// site 仓库

// 导入API接口
import { getSiteAPI } from '@/API/api'
export default {
  // 开启命名空间
  namespaced: true,
  // 状态（共享的数据）
  state: () => ({
    // 基础设置信息
    siteInfo: []
  }),
  // mutations 在mutations中定义的方法是唯一能够修改状态的地方
  mutations: {
    // 设置基础设置的数据
    setSite(state, data) {
      state.siteInfo = data
    }
  },
  // actions mutations中是不能进行异步操作的，所以actions就是专门用来处理异步任务的
  actions: {
    // 获取基础设置
    async getSite({ commit }) {
      const { data: res } = await getSiteAPI()
      const data = res.data.map(item => {
        return JSON.parse(item)
      })
      if (res.status !== 0) return Promise.reject(new Error(res.msg))
      // 通过 本仓库 实例的 commit方法 触发 mutations 中 的 setSite 方法，并传递一个实参
      commit('setSite', data)
    }
    // 获取资料卡信息
    // 修改基础设置
  },
  // getters ， 对state中的共享数据进行包装
  getters: {}
}
